package demo2;
// 更简洁的做法是直接用StringBuffer拼接字符串，删除字符串来模拟入栈，出栈。思路是一样的。
import java.util.Scanner;
import java.util.Stack;
public class Test2 {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        //获取输入
        String s = in.next();
        int len = s.length();
        //用StringBuffer拼接字符串，删除字符串来模拟入栈，出栈
        StringBuffer sb = new StringBuffer(len);
        //index表示“栈顶”元素下标。初始栈空，下标为-1
        int index =-1;
        //遍历字符串
        for(int i = 0; i<len;++i){
            //当前字符
            char ch = s.charAt(i);
            //“栈”为空或者当前元素与“栈顶”元素不等，则入栈，并且“栈顶”下标++
            if(index == -1 || ch != sb.charAt(index)){
                sb.append(ch);
                index++;
            }else{
                //当前元素与“栈顶”元素相等，“栈顶”元素出栈，并且“栈顶”下标减1
                sb.deleteCharAt(index);
                index--;
            }
        }
        if(index == -1){
            System.out.println("0");
        }else{
            System.out.print(sb);
        }
    }
}